#pragma once
#include <nice2d/predef.h>
#include <nice2d/messagelistener.h>

class MessageReceiver
{
public:
    virtual ~MessageReceiver() = default;
public:
    void registerMessageListener(MessageListenerPointer listener);
    void unregisterMessageListener(MessageListenerPointer listener);

    virtual bool process(std::shared_ptr<Message> message);
private:
    std::list<MessageListenerPointer> listeners;
};
